📘 Clase 01: Primer Vistazo Práctico (print, variables, if, for)
- :material-bookmark: Curso: Curso 1: Fundamentos Básicos de Python (CLASE 01)
- :material-signal-cellular-outline: Nivel:
Nivel 1 - Principiante - :material-lightbulb-on: Metáfora Central: «El Megáfono (print), Las Cajas (variables), El Semáforo (if) y La Cinta Transportadora (for)»
- :material-laptop: Wisrovi Studio (Local): 🚀 Abrir Reto • 👨🏫 Modo Tutor
- :material-file-pdf-box: Manual PDF Oficial: Descargar clase-01-panorama-general.pdf
1. 💡 Fundamentación Teórica y Modelo Mental
En esta sesión inaugural exploramos los 4 pilares esenciales del software:
1. El Megáfono (print): Comunica datos y resultados al usuario en consola.
2. Las Cajas Etiquetadas (Variables): Guardan información en memoria RAM mediante asignación =.
3. El Semáforo (if/else): Evalúa condiciones booleanas (True/False) para bifurcar el camino lógico.
4. La Cinta Transportadora (for): Procesa colecciones de elementos uno tras otro de forma secuencial.
🌟 Modelo Mental de la Sesión: «El Megáfono (print), Las Cajas (variables), El Semáforo (if) y La Cinta Transportadora (for)»
En esta sesión anclamos el aprendizaje en la metáfora del mundo real para visualizar cómo fluyen las estructuras de datos y el flujo de ejecución en la memoria.
2. 🗺️ Arquitectura de Ejecución y Diagrama de Flujo
flowchart LR
A["📢 1. El Megáfono<br/>print('¡Hola!')"] --> B["📦 2. Las Cajas<br/>usuario = 'Wisrovi'"]
B --> C{"🚦 3. El Semáforo<br/>¿edad >= 18?"}
C -->|Verdadero| D["⚙️ 4. La Cinta<br/>for item in lista"]
C -->|Falso| E["⛔ Acceso Denegado"]
D --> F["🎯 Retorno / Salida"]
E --> F
style A fill:#1e293b,color:#ffffff,stroke:#3b82f6,stroke-width:2px
style B fill:#0f766e,color:#ffffff,stroke:#2dd4bf,stroke-width:2px
style C fill:#d97706,color:#ffffff,stroke:#fbbf24,stroke-width:2px
style D fill:#1e3a8a,color:#ffffff,stroke:#60a5fa,stroke-width:2px
style E fill:#881337,color:#ffffff,stroke:#fb7185,stroke-width:2px
style F fill:#065f46,color:#ffffff,stroke:#34d399,stroke-width:2px
3. 💻 Código de Implementación Práctica
```python
1. El Megáfono (print)
print("¡Bienvenido a Wisrovi Academy!")
2. Las Cajas (Variables)
usuario = "Wisrovi" nivel = 1
3. El Semáforo (if/else)
if nivel == 1: print(f"Hola {usuario}, inicias como: Aprendiz")
4. La Cinta Transportadora (for)
habilidades = ["Variables", "Condicionales", "Bucles", "Funciones"] for h in habilidades: print("-> Dominando:", h) ```
```python
🔬 ARENERO DE PRUEBAS: Experimenta con variables y condiciones
nombre = "Alex" edad = 20 es_programador = True
print(f"Estudiante: {nombre} | Edad: {edad}")
if edad >= 18 and es_programador: print("🚀 ¡Listo para construir Agentes de IA!") else: print("🌱 Continúa aprendiendo paso a paso.") ```
4. 🛡️ Buenas Prácticas PEP 8: Antipatrones vs Código Pythonic
⚠️ Cuidado con los Antipatrones
```python edad = 25
print('Edad: ' + edad) # ❌ TypeError: can only concatenate str to str if edad >= 18 # ❌ Falta los dos puntos (:) ```
```python edad = 25
print(f'Edad: {edad}') # ✅ F-string formatea automáticamente if edad >= 18: # ✅ Sintaxis correcta con dos puntos print('Acceso OK') ```
5. 🏋️ Desafío Práctico de la Clase
🎯 Enunciado del Reto
Crea una función llamada evaluar_estudiante(nombre: str, edad: int) -> str que retorne el texto 'Mayor de edad' si tiene 18 o más, o 'Menor de edad' en caso contrario.
⚡ Resolución Híbrida en 1 Clic (Local + Web)
Si tienes ejecutando wisrovi ui en tu terminal local, puedes 🚀 Abrir este Reto directamente en tu Studio Local (127.0.0.1:8501) para escribir tu código con auto-formateo AST, inspeccionar variables en el Heap/Stack y evaluarlo con pruebas en tiempo real.
💡 Pista Socrática 1
💡 Pista 1: Usa la condición 'if edad >= 18:' para verificar la mayoría de edad.
💡 Pista Socrática 2
💡 Pista 2: La función debe retornar exactamente las cadenas 'Mayor de edad' o 'Menor de edad'.
💡 Pista Socrática 3
💡 Pista 3: Comprueba que el tipo de retorno sea 'str'.
Para resolver este ejercicio en tu entorno:
1. Abre el archivo ejercicios/reto.py de esta clase en Visual Studio Code o utiliza wisrovi ui / wisrovi tutor.
2. Implementa tu solución cumpliendo los requisitos y contratos de tipado.
3. Valida tus resultados ejecutando las pruebas unitarias: